dacfcc1119d7d767f77a565dd57dc3cafb47ffed,Frameworks/Core/ERExtensions/Sources/er/extensions/foundation/ERXStringUtilities.java,ERXStringUtilities,camelCaseToUnderscore,#String#,1010

Before Change


    	StringBuffer underscore = new StringBuffer();
    	for (int i = 0; i < camelString.length(); i ++) {
    		char ch = camelString.charAt(i);
    		if (Character.isUpperCase(ch) && i > 0) {
    			underscore.append("_");
    		}
    		underscore.append(Character.toLowerCase(ch));

After Change


    	int length = camelString.length();
    	for (int i = 0; i < length; i ++) {
    		char ch = camelString.charAt(i);
    		if (Character.isUpperCase(ch)) {
    			boolean nextCharacterIsCapital =  (i < length - 1 && Character.isUpperCase(camelString.charAt(i + 1)));
    			if (i > 0 && ((!lastCharacterWasWordBreak && !lastCharacterWasCapital) || !nextCharacterIsCapital)) {
    				underscore.append("_");